#pragma once
#ifndef AI_H
#define AI_H

#include <vector>
#include "Vector2D.h"
class CLevel;
using std::vector;

enum eDifficulty
{
	eDifficultyEasy,
	eDifficultyNormal,
	eDifficultyHard
};

class CAI
{
private:
	static CAI* instance;
	vector<CLevel*> vectorLevel;
	int difficulty;
	int numberOfLevel;

protected:
	CAI(void);
	~CAI(void);

public:
	static CAI& getInstance(void);
	void CAI::Close(void);

	void createNewLevel(int* indexLevel, int numberOfWave);
	void initialiseWave(int indexWave, int indexLevel, int numberOfEnemies,int typeOfEnemies, int timeToSpawn,
						int timeToLive, int timeBetweenEnemiesToSpawn);
	void addWayPoint(int indexLevel, int indexWave, CVector2D wayPoint);
	int getDifficulty(void)const;
	void setDifficulty(int difficulty);
};
#define AI CAI::getInstance()

#endif
